mspafetchmodusfandomcom-20200214-history
Directed Acyclic Pictionary Hash Stack Modus
'When Captchaloging an item:' When you draw a picture, you must write a title on it. Untitled pictures retrieve items. It is first assigned a number using Hash Map. If there is >= 1 items inside, the modus randomly chooses one of the other items. It then randomly chooses a parent or child arrow* and assigns the arrow between the nodes. If you reach 9 nodes a new layer will be added with an arrow connecting the last node in the first layer with the first node in the next layer. Layers are also assigned in the same parent/child relationship, and the child layer is the layer on the top. If you attempt to place an item with the same number as another item, it will be launched. You can also choose to turn on collision detection. All items captchalogued will be placed in the layer with the highest value. 'When retrieving a captchalogued item:' You must draw the item to retrieve it. If the item is not in your inventory, a ghost image** is left in it. The node containing your item is examined before being retrieved. If the node is the only node or if it has no children, it shall be retrieved without consequence. If this node has child nodes, the children nodes shall be forcefully ejected from the modus. If those children have any children, the same shall happen (recursively until the nodes ejected have no more children). If there are any stray nodes left behind when the items are retrieved/ejected, the item with the lowest ID number shall be treated as the first entered and every number above that shall be reassigned a relationship to a random node already in the graph until every stray node has been reassigned. This means that if you're not careful with picking your item (or just have bad luck), most items or every item shall be violently ejected from your modus. You must remove all the items in a layer before you can retrieve anything in the layer below it. If you remove an item that joins two layers, the arrow will change to the next highest value, but retains the same relationship. (*)Say the first item is X. The second item is Y. If Y becomes a child node of X it'll be "Y <- X", otherwise Y will be a parent of X and it'll be "Y -> X". 'Ghost Images' (**) Ghost images cannot be manually removed by the user. If the item depicted by that ghost image is picked up, the ghost image is replaced by that item. If a whole layer is filled with ghost images, the layer is removed, along with all the ghost images. Ghost images are assigned numbers chronologically***. If the actual item doesn't match the Ghost image's number when the actual item replaces the ghost image, then the ghost image node in the needed spot is switched with the item that needs the slot. If the slot is filled with an actual item, that item is booted out even if "detect collisions" is turned on unless the layer is full. A layer is only considered full if it has no ghost images. Replaced Ghost images go on a non-full with the highest number value layer possible. Replaced ghost images are treated as though you have only obtained the item for the first time. (***)Ghost image numbers can be changed by the modus as is necessary, and are not static. (T0): The blue layer must be emptied before the red layer becomes accessible. (T1): Blue1 (1 on the blue layer) can be easily removed with no problem. (T2): Blue9 can also be removed, so then the purple arrow will link Red1 -> Blue8. (T3): If all items on the Blue layer are removed then the Red layer will become Layer 1. (T4): If 5R is a ghost image and 6B is a ghost image, and the item corresponding to 6B is found, but the Hash Map value of 6B is a 5, 5R and 6B switch ( places. The connections are not affected in any way. Category:Fan-made